Quad Rotation

A = (-1.795617373661928, 4.905958459961718)
B = (0.3662581688780059, 1.701750066554316)
C = (2.5667386318204386, 3.0143173602392763)
D = (3.0299976766504244, 9.49994398785908)
poly1, a, b, c, d = Polygon(A, B, C, D)
α = Angle(B, A, D)
β = Angle(C, B, A)
γ = Angle(D, C, B)
δ = Angle(A, D, C)
E = (-10.361399031226865, 12.838911828819713)
f = Line(E, e)
F = Point(f)
g = Circle(F, 1)
G = Intersect(g, f, 2)
F' = Mirror(F, G)
h = Circle(F', G)
H = Intersect(h, f, 2)
k = Circle(H, F')
I = Intersect(k, f, 2)
p = Circle(I, H)
J = Intersect(p, f, 2)
q = Circle(J, I)
K = Intersect(q, f, 2)
r = Circle(K, J)
L = Intersect(r, f, 2)
s = Circle(L, K)
M = Intersect(s, f, 2)
t = Circle(M, L)
N = Midpoint(G, F')
O = Midpoint(F', H)
P = Midpoint(H, I)
c_1 = Circle(O, N)
d_1 = Circle(J, I)
Q = Midpoint(M, L)
Q' = Mirror(Q, L)
Q'_1 = Mirror(Q, M)
e_1 = Circle(Q, Q')
G' = Rotate(G, α, F)
ε = Angle(G, F, G')
P' = Rotate(P, β, O)
ζ = Angle(P, O, P')
K' = Mirror(K, J)
K'_1 = Rotate(K, γ, J)
η = Angle(K, J, K'_1)
R = Rotate(Q'_1, δ, Q)
θ = Angle(Q'_1, Q, R)
f_1 = CircleArc(F, G, G')
g_1 = CircleArc(O, P, P')
h_1 = CircleArc(J, K, K'_1)
k_1 = CircleArc(Q, Q'_1, R)
S = Point(f_1)
T = Point(g_1)
U = Point(h_1)
V = Point(k_1)
p_1 = CircleSector(F, G, S)
q_1 = CircleSector(O, P, T)
r_1 = CircleSector(J, K, U)
s_1 = CircleSector(Q, Q'_1, V)
t_1 = CircleArc(F, G, S)
c_2 = CircleArc(O, P, T)
d_2 = CircleArc(J, K, U)
e_2 = CircleArc(Q, Q'_1, V)
i = Segment(F, S)
j = Segment(O, T)
l = Segment(J, U)
m = Segment(Q, V)
n = Segment(F, Q'_1)
a_1 = Segment(O, P)
b_1 = Segment(F, G)
i_1 = Segment(J, K)
j_1 = Segment(Q, Q'_1)
l_1 = Segment(E, F)
α_1 = Angle(G, F, S)
β_1 = Angle(P, O, T)
γ_1 = Angle(K, J, U)
δ_1 = Angle(Q'_1, Q, V)
A' = Rotate(A, α_1, A)
B' = Rotate(B, α_1, A)
C' = Rotate(C, α_1, A)
D' = Rotate(D, α_1, A)
poly1', a', b', c', d' = Polygon(A', B', C', D')
A'' = Rotate(A', β_1, B)
B'' = Rotate(B', β_1, B)
C'' = Rotate(C', β_1, B)
D'' = Rotate(D', β_1, B)
poly1'', a'', b'', c'', d'' = Polygon(A'', B'', C'', D'')
A'_1 = Rotate(A, β_1, B)
A''' = Rotate(A'', γ_1, C)
B''' = Rotate(B'', γ_1, C)
C''' = Rotate(C'', γ_1, C)
D''' = Rotate(D'', γ_1, C)
poly1''', a''', b''', c''', d''' = Polygon(A''', B''', C''', D''')
W = Rotate(A'_1, γ_1, C)
Z = Rotate(A''', δ_1, D)
A_1 = Rotate(B''', δ_1, D)
C_4 = Rotate(C''', δ_1, D)
C_1 = Rotate(D''', δ_1, D)
poly2, z, a_2, b_2, c_3 = Polygon(Z, A_1, C_4, C_1)
W' = Rotate(W, δ_1, D)
m_1 = Segment(K, Q)
n_1 = Segment(P, J)
f_2 = Segment(G, O)
h_2 = Segment(C, C''')
g_2 = Segment(B, B'')
i_2 = Segment(D, C_1)
sf = 0 (slider from 0 to 1, step 0.01)
SF = Distance(C, C_4)
B_1 = Dilate(C_4, sf, C)
u = Vector(C, B_1)
A'_2 = Translate(A, u)
B'_1 = Translate(B, u)
C'_1 = Translate(C, u)
D'_1 = Translate(D, u)
poly1'_1, a'_2, b'_1, c'_1, d'_1 = Polygon(A'_2, B'_1, C'_1, D'_1)
A''_1 = Translate(A', u)
ι = Angle(B'_1, A''_1, D'_1)
κ = Angle(A''_1, D'_1, C'_1)
λ = Angle(D'_1, C'_1, B'_1)
μ = Angle(C'_1, B'_1, A''_1)
ν = Angle(A_1, W', C_1)
ξ = Angle(W', C_1, C_4)
ο = Angle(C_1, C_4, A_1)
ρ = Angle(C_4, A_1, W')

Tool: Complex Multiplication (command ComplexMultiplication)
Select Points at O(0, 0), P(0, -1), A and B for A*B
Input: O, P, A, B
Output: j, AB

c = Circle(O, A)
d = Circle(O, B)
D = Intersect(c, xAxis, 2)
b = Segment(O, A)
f = Segment(O, B)
G = Intersect(d, xAxis, 1)
g = Circle(D, P, G)
E = Intersect(g, yAxis, 2)
e = Circle(O, E)
a, h = AngularBisector(f, b)
D' = Mirror(D, a)
i = Ray(O, D')
AB = Intersect(e, i, 1)
j = Segment(O, AB)

Tool: Complex Division (command ComplexDivision)
Select Points O(0, 0), P(0, -1), A and B for A/B
Input: O, P, A, B
Output: l, C

A/B

c = Circle(O, A)
d = Circle(O, B)
D = Intersect(c, xAxis, 2)
e = AngularBisector(A, O, D)
B' = Mirror(B, e)
f = Ray(O, B')
E = Intersect(c, yAxis, 1)
F = Intersect(d, xAxis, 1)
g = Segment(F, E)
G = Midpoint(g)
h = OrthogonalLine(G, g)
i = Segment(P, F)
H = Midpoint(i)
j = OrthogonalLine(H, i)
I = Intersect(h, j)
k = Circle(I, F)
J = Intersect(k, xAxis, 2)
p = Circle(O, J)
C = Intersect(p, f)
l = Segment(O, C)

Tool: Complex Addition (command ComplexAddition)
Select Points O(0, 0), A and B for A + B
Input: O, A, B
Output: C', c

A + B

u = Vector(O, B)
C' = Translate(A, u)
c = Segment(O, C')

Tool: Complex Subtraction (command ComplexSubtraction)
Select Points O(0, 0), A and B for A - B
Input: O, A, B
Output: c, A'

A - B

u = Vector(B, O)
A'_1 = Translate(A, u)
A' = Translate(A, u)
c = Segment(O, A')